/* eslint-disable camelcase */

import buffer_copy_fs_glsl from './buffer_copy/fs.glsl';
import buffer_copy_vs_glsl from './buffer_copy/vs.glsl';
import buffer_uniform_fs_glsl from './buffer_uniform/fs.glsl';
import buffer_uniform_vs_glsl from './buffer_uniform/vs.glsl';
import draw_image_space_fs_glsl from './draw_image_space/fs.glsl';
import draw_image_space_vs_glsl from './draw_image_space/vs.glsl';
import draw_instanced_fs_glsl from './draw_instanced/fs.glsl';
import draw_instanced_vs_glsl from './draw_instanced/vs.glsl';
import draw_instanced_ubo_fs_glsl from './draw_instanced_ubo/fs.glsl';
import draw_instanced_ubo_vs_glsl from './draw_instanced_ubo/vs.glsl';
import draw_primitive_restart_fs_glsl from './draw_primitive_restart/fs.glsl';
import draw_primitive_restart_vs_glsl from './draw_primitive_restart/vs.glsl';
import draw_range_arrays_fs_glsl from './draw_range_arrays/fs.glsl';
import draw_range_arrays_vs_glsl from './draw_range_arrays/vs.glsl';
import fbo_blit_fs_glsl from './fbo_blit/fs.glsl';
import fbo_blit_vs_glsl from './fbo_blit/vs.glsl';
import fbo_multisample_fs_render_glsl from './fbo_multisample/fs-render.glsl';
import fbo_multisample_fs_splash_glsl from './fbo_multisample/fs-splash.glsl';
import fbo_multisample_vs_render_glsl from './fbo_multisample/vs-render.glsl';
import fbo_multisample_vs_splash_glsl from './fbo_multisample/vs-splash.glsl';
import fbo_new_blend_equation_fs_glsl from './fbo_new_blend_equation/fs.glsl';
import fbo_new_blend_equation_vs_glsl from './fbo_new_blend_equation/vs.glsl';
import fbo_read_pixels_fs_layer_glsl from './fbo_read_pixels/fs-layer.glsl';
import fbo_read_pixels_fs_multiple_output_glsl from './fbo_read_pixels/fs-multiple-output.glsl';
import fbo_read_pixels_vs_layer_glsl from './fbo_read_pixels/vs-layer.glsl';
import fbo_read_pixels_vs_multiple_output_glsl from './fbo_read_pixels/vs-multiple-output.glsl';
import fbo_rtt_depth_texture_fs_depth_glsl from './fbo_rtt_depth_texture/fs-depth.glsl';
import fbo_rtt_depth_texture_fs_draw_glsl from './fbo_rtt_depth_texture/fs-draw.glsl';
import fbo_rtt_depth_texture_vs_depth_glsl from './fbo_rtt_depth_texture/vs-depth.glsl';
import fbo_rtt_depth_texture_vs_draw_glsl from './fbo_rtt_depth_texture/vs-draw.glsl';
import fbo_rtt_draw_buffers_fs_draw_buffer_glsl from './fbo_rtt_draw_buffers/fs-draw-buffer.glsl';
import fbo_rtt_draw_buffers_fs_draw_glsl from './fbo_rtt_draw_buffers/fs-draw.glsl';
import fbo_rtt_draw_buffers_vs_draw_buffer_glsl from './fbo_rtt_draw_buffers/vs-draw-buffer.glsl';
import fbo_rtt_draw_buffers_vs_draw_glsl from './fbo_rtt_draw_buffers/vs-draw.glsl';
import fbo_rtt_texture_array_fs_layer_glsl from './fbo_rtt_texture_array/fs-layer.glsl';
import fbo_rtt_texture_array_fs_multiple_output_glsl from './fbo_rtt_texture_array/fs-multiple-output.glsl';
import fbo_rtt_texture_array_vs_layer_glsl from './fbo_rtt_texture_array/vs-layer.glsl';
import fbo_rtt_texture_array_vs_multiple_output_glsl from './fbo_rtt_texture_array/vs-multiple-output.glsl';
import geo_vertex_format_fs_glsl from './geo_vertex_format/fs.glsl';
import geo_vertex_format_vs_glsl from './geo_vertex_format/vs.glsl';
import glsl_centroid_fs_render_centroid_glsl from './glsl_centroid/fs-render-centroid.glsl';
import glsl_centroid_fs_render_glsl from './glsl_centroid/fs-render.glsl';
import glsl_centroid_fs_splash_glsl from './glsl_centroid/fs-splash.glsl';
import glsl_centroid_vs_render_centroid_glsl from './glsl_centroid/vs-render-centroid.glsl';
import glsl_centroid_vs_render_glsl from './glsl_centroid/vs-render.glsl';
import glsl_centroid_vs_splash_glsl from './glsl_centroid/vs-splash.glsl';
import glsl_discard_fs_glsl from './glsl_discard/fs.glsl';
import glsl_discard_vs_glsl from './glsl_discard/vs.glsl';
import glsl_flat_smooth_interpolators_fs_flat_glsl from './glsl_flat_smooth_interpolators/fs-flat.glsl';
import glsl_flat_smooth_interpolators_fs_smooth_glsl from './glsl_flat_smooth_interpolators/fs-smooth.glsl';
import glsl_flat_smooth_interpolators_vs_flat_glsl from './glsl_flat_smooth_interpolators/vs-flat.glsl';
import glsl_flat_smooth_interpolators_vs_smooth_glsl from './glsl_flat_smooth_interpolators/vs-smooth.glsl';
import glsl_non_square_matrix_fs_glsl from './glsl_non_square_matrix/fs.glsl';
import glsl_non_square_matrix_vs_glsl from './glsl_non_square_matrix/vs.glsl';
import gltf_load_fs_smooth_glsl from './gltf_load/fs-smooth.glsl';
import gltf_load_vs_smooth_glsl from './gltf_load/vs-smooth.glsl';
import query_occlusion_fs_glsl from './query_occlusion/fs.glsl';
import query_occlusion_vs_glsl from './query_occlusion/vs.glsl';
import sampler_filter_fs_glsl from './sampler_filter/fs.glsl';
import sampler_filter_vs_glsl from './sampler_filter/vs.glsl';
import sampler_object_fs_glsl from './sampler_object/fs.glsl';
import sampler_object_vs_glsl from './sampler_object/vs.glsl';
import sampler_wrap_fs_glsl from './sampler_wrap/fs.glsl';
import sampler_wrap_vs_glsl from './sampler_wrap/vs.glsl';
import texture_2d_array_fs_glsl from './texture_2d_array/fs.glsl';
import texture_2d_array_vs_glsl from './texture_2d_array/vs.glsl';
import texture_3d_fs_glsl from './texture_3d/fs.glsl';
import texture_3d_vs_glsl from './texture_3d/vs.glsl';
import texture_derivative_fs_glsl from './texture_derivative/fs.glsl';
import texture_derivative_vs_glsl from './texture_derivative/vs.glsl';
import texture_fetch_fs_glsl from './texture_fetch/fs.glsl';
import texture_fetch_vs_glsl from './texture_fetch/vs.glsl';
import texture_format_fs_normalized_glsl from './texture_format/fs-normalized.glsl';
import texture_format_fs_uint_glsl from './texture_format/fs-uint.glsl';
import texture_format_vs_glsl from './texture_format/vs.glsl';
import texture_grad_fs_glsl from './texture_grad/fs.glsl';
import texture_grad_vs_glsl from './texture_grad/vs.glsl';
import texture_immutable_fs_3d_glsl from './texture_immutable/fs-3d.glsl';
import texture_immutable_fs_glsl from './texture_immutable/fs.glsl';
import texture_immutable_vs_3d_glsl from './texture_immutable/vs-3d.glsl';
import texture_immutable_vs_glsl from './texture_immutable/vs.glsl';
import texture_integer_fs_glsl from './texture_integer/fs.glsl';
import texture_integer_vs_glsl from './texture_integer/vs.glsl';
import texture_lod_fs_glsl from './texture_lod/fs.glsl';
import texture_lod_vs_glsl from './texture_lod/vs.glsl';
import texture_offset_fs_bicubic_glsl from './texture_offset/fs-bicubic.glsl';
import texture_offset_fs_offset_bicubic_glsl from './texture_offset/fs-offset-bicubic.glsl';
import texture_offset_vs_glsl from './texture_offset/vs.glsl';
import texture_pixel_store_fs_glsl from './texture_pixel_store/fs.glsl';
import texture_pixel_store_vs_glsl from './texture_pixel_store/vs.glsl';
import texture_srgb_fs_glsl from './texture_srgb/fs.glsl';
import texture_srgb_vs_glsl from './texture_srgb/vs.glsl';
import texture_vertex_fs_glsl from './texture_vertex/fs.glsl';
import texture_vertex_vs_glsl from './texture_vertex/vs.glsl';
import transform_feedback_instanced_fs_draw_glsl from './transform_feedback_instanced/fs-draw.glsl';
import transform_feedback_instanced_fs_emit_glsl from './transform_feedback_instanced/fs-emit.glsl';
import transform_feedback_instanced_vs_draw_glsl from './transform_feedback_instanced/vs-draw.glsl';
import transform_feedback_instanced_vs_emit_glsl from './transform_feedback_instanced/vs-emit.glsl';
import transform_feedback_interleaved_fs_feedback_glsl from './transform_feedback_interleaved/fs-feedback.glsl';
import transform_feedback_interleaved_fs_transform_glsl from './transform_feedback_interleaved/fs-transform.glsl';
import transform_feedback_interleaved_vs_feedback_glsl from './transform_feedback_interleaved/vs-feedback.glsl';
import transform_feedback_interleaved_vs_transform_glsl from './transform_feedback_interleaved/vs-transform.glsl';
import transform_feedback_separated_fs_feedback_glsl from './transform_feedback_separated/fs-feedback.glsl';
import transform_feedback_separated_fs_transform_glsl from './transform_feedback_separated/fs-transform.glsl';
import transform_feedback_separated_vs_feedback_glsl from './transform_feedback_separated/vs-feedback.glsl';
import transform_feedback_separated_vs_transform_glsl from './transform_feedback_separated/vs-transform.glsl';
import transform_feedback_separated_2_fs_draw_glsl from './transform_feedback_separated_2/fs-draw.glsl';
import transform_feedback_separated_2_vs_draw_glsl from './transform_feedback_separated_2/vs-draw.glsl';

export const shaders = {
    buffer_copy_fs_glsl,
    buffer_copy_vs_glsl,
    buffer_uniform_fs_glsl,
    buffer_uniform_vs_glsl,
    draw_image_space_fs_glsl,
    draw_image_space_vs_glsl,
    draw_instanced_fs_glsl,
    draw_instanced_vs_glsl,
    draw_instanced_ubo_fs_glsl,
    draw_instanced_ubo_vs_glsl,
    draw_primitive_restart_fs_glsl,
    draw_primitive_restart_vs_glsl,
    draw_range_arrays_fs_glsl,
    draw_range_arrays_vs_glsl,
    fbo_blit_fs_glsl,
    fbo_blit_vs_glsl,
    fbo_multisample_fs_render_glsl,
    fbo_multisample_fs_splash_glsl,
    fbo_multisample_vs_render_glsl,
    fbo_multisample_vs_splash_glsl,
    fbo_new_blend_equation_fs_glsl,
    fbo_new_blend_equation_vs_glsl,
    fbo_read_pixels_fs_layer_glsl,
    fbo_read_pixels_fs_multiple_output_glsl,
    fbo_read_pixels_vs_layer_glsl,
    fbo_read_pixels_vs_multiple_output_glsl,
    fbo_rtt_depth_texture_fs_depth_glsl,
    fbo_rtt_depth_texture_fs_draw_glsl,
    fbo_rtt_depth_texture_vs_depth_glsl,
    fbo_rtt_depth_texture_vs_draw_glsl,
    fbo_rtt_draw_buffers_fs_draw_buffer_glsl,
    fbo_rtt_draw_buffers_fs_draw_glsl,
    fbo_rtt_draw_buffers_vs_draw_buffer_glsl,
    fbo_rtt_draw_buffers_vs_draw_glsl,
    fbo_rtt_texture_array_fs_layer_glsl,
    fbo_rtt_texture_array_fs_multiple_output_glsl,
    fbo_rtt_texture_array_vs_layer_glsl,
    fbo_rtt_texture_array_vs_multiple_output_glsl,
    geo_vertex_format_fs_glsl,
    geo_vertex_format_vs_glsl,
    glsl_centroid_fs_render_centroid_glsl,
    glsl_centroid_fs_render_glsl,
    glsl_centroid_fs_splash_glsl,
    glsl_centroid_vs_render_centroid_glsl,
    glsl_centroid_vs_render_glsl,
    glsl_centroid_vs_splash_glsl,
    glsl_discard_fs_glsl,
    glsl_discard_vs_glsl,
    glsl_flat_smooth_interpolators_fs_flat_glsl,
    glsl_flat_smooth_interpolators_fs_smooth_glsl,
    glsl_flat_smooth_interpolators_vs_flat_glsl,
    glsl_flat_smooth_interpolators_vs_smooth_glsl,
    glsl_non_square_matrix_fs_glsl,
    glsl_non_square_matrix_vs_glsl,
    gltf_load_fs_smooth_glsl,
    gltf_load_vs_smooth_glsl,
    query_occlusion_fs_glsl,
    query_occlusion_vs_glsl,
    sampler_filter_fs_glsl,
    sampler_filter_vs_glsl,
    sampler_object_fs_glsl,
    sampler_object_vs_glsl,
    sampler_wrap_fs_glsl,
    sampler_wrap_vs_glsl,
    texture_2d_array_fs_glsl,
    texture_2d_array_vs_glsl,
    texture_3d_fs_glsl,
    texture_3d_vs_glsl,
    texture_derivative_fs_glsl,
    texture_derivative_vs_glsl,
    texture_fetch_fs_glsl,
    texture_fetch_vs_glsl,
    texture_format_fs_normalized_glsl,
    texture_format_fs_uint_glsl,
    texture_format_vs_glsl,
    texture_grad_fs_glsl,
    texture_grad_vs_glsl,
    texture_immutable_fs_3d_glsl,
    texture_immutable_fs_glsl,
    texture_immutable_vs_3d_glsl,
    texture_immutable_vs_glsl,
    texture_integer_fs_glsl,
    texture_integer_vs_glsl,
    texture_lod_fs_glsl,
    texture_lod_vs_glsl,
    texture_offset_fs_bicubic_glsl,
    texture_offset_fs_offset_bicubic_glsl,
    texture_offset_vs_glsl,
    texture_pixel_store_fs_glsl,
    texture_pixel_store_vs_glsl,
    texture_srgb_fs_glsl,
    texture_srgb_vs_glsl,
    texture_vertex_fs_glsl,
    texture_vertex_vs_glsl,
    transform_feedback_instanced_fs_draw_glsl,
    transform_feedback_instanced_fs_emit_glsl,
    transform_feedback_instanced_vs_draw_glsl,
    transform_feedback_instanced_vs_emit_glsl,
    transform_feedback_interleaved_fs_feedback_glsl,
    transform_feedback_interleaved_fs_transform_glsl,
    transform_feedback_interleaved_vs_feedback_glsl,
    transform_feedback_interleaved_vs_transform_glsl,
    transform_feedback_separated_fs_feedback_glsl,
    transform_feedback_separated_fs_transform_glsl,
    transform_feedback_separated_vs_feedback_glsl,
    transform_feedback_separated_vs_transform_glsl,
    transform_feedback_separated_2_fs_draw_glsl,
    transform_feedback_separated_2_vs_draw_glsl
};

export const programs = {
    buffer_copy_vs_glsl: { vertex: buffer_copy_vs_glsl, fragment: buffer_copy_fs_glsl },
    buffer_uniform_vs_glsl: { vertex: buffer_uniform_vs_glsl, fragment: buffer_uniform_fs_glsl },
    draw_image_space_vs_glsl: { vertex: draw_image_space_vs_glsl, fragment: draw_image_space_fs_glsl },
    draw_instanced_vs_glsl: { vertex: draw_instanced_vs_glsl, fragment: draw_instanced_fs_glsl },
    draw_instanced_ubo_vs_glsl: { vertex: draw_instanced_ubo_vs_glsl, fragment: draw_instanced_ubo_fs_glsl },
    draw_primitive_restart_vs_glsl: { vertex: draw_primitive_restart_vs_glsl, fragment: draw_primitive_restart_fs_glsl },
    draw_range_arrays_vs_glsl: { vertex: draw_range_arrays_vs_glsl, fragment: draw_range_arrays_fs_glsl },
    fbo_blit_vs_glsl: { vertex: fbo_blit_vs_glsl, fragment: fbo_blit_fs_glsl },
    fbo_multisample_vs_render_glsl: { vertex: fbo_multisample_vs_render_glsl, fragment: fbo_multisample_fs_render_glsl },
    fbo_multisample_vs_splash_glsl: { vertex: fbo_multisample_vs_splash_glsl, fragment: fbo_multisample_fs_splash_glsl },
    fbo_new_blend_equation_vs_glsl: { vertex: fbo_new_blend_equation_vs_glsl, fragment: fbo_new_blend_equation_fs_glsl },
    fbo_read_pixels_vs_layer_glsl: { vertex: fbo_read_pixels_vs_layer_glsl, fragment: fbo_read_pixels_fs_layer_glsl },
    fbo_read_pixels_vs_multiple_output_glsl: { vertex: fbo_read_pixels_vs_multiple_output_glsl, fragment: fbo_read_pixels_fs_multiple_output_glsl },
    fbo_rtt_depth_texture_vs_depth_glsl: { vertex: fbo_rtt_depth_texture_vs_depth_glsl, fragment: fbo_rtt_depth_texture_fs_depth_glsl },
    fbo_rtt_depth_texture_vs_draw_glsl: { vertex: fbo_rtt_depth_texture_vs_draw_glsl, fragment: fbo_rtt_depth_texture_fs_draw_glsl },
    fbo_rtt_draw_buffers_vs_draw_buffer_glsl: { vertex: fbo_rtt_draw_buffers_vs_draw_buffer_glsl, fragment: fbo_rtt_draw_buffers_fs_draw_buffer_glsl },
    fbo_rtt_draw_buffers_vs_draw_glsl: { vertex: fbo_rtt_draw_buffers_vs_draw_glsl, fragment: fbo_rtt_draw_buffers_fs_draw_glsl },
    fbo_rtt_texture_array_vs_layer_glsl: { vertex: fbo_rtt_texture_array_vs_layer_glsl, fragment: fbo_rtt_texture_array_fs_layer_glsl },
    fbo_rtt_texture_array_vs_multiple_output_glsl: { vertex: fbo_rtt_texture_array_vs_multiple_output_glsl, fragment: fbo_rtt_texture_array_fs_multiple_output_glsl },
    geo_vertex_format_vs_glsl: { vertex: geo_vertex_format_vs_glsl, fragment: geo_vertex_format_fs_glsl },
    glsl_centroid_vs_render_centroid_glsl: { vertex: glsl_centroid_vs_render_centroid_glsl, fragment: glsl_centroid_fs_render_centroid_glsl },
    glsl_centroid_vs_render_glsl: { vertex: glsl_centroid_vs_render_glsl, fragment: glsl_centroid_fs_render_glsl },
    glsl_centroid_vs_splash_glsl: { vertex: glsl_centroid_vs_splash_glsl, fragment: glsl_centroid_fs_splash_glsl },
    glsl_discard_vs_glsl: { vertex: glsl_discard_vs_glsl, fragment: glsl_discard_fs_glsl },
    glsl_flat_smooth_interpolators_vs_flat_glsl: { vertex: glsl_flat_smooth_interpolators_vs_flat_glsl, fragment: glsl_flat_smooth_interpolators_fs_flat_glsl },
    glsl_flat_smooth_interpolators_vs_smooth_glsl: { vertex: glsl_flat_smooth_interpolators_vs_smooth_glsl, fragment: glsl_flat_smooth_interpolators_fs_smooth_glsl },
    glsl_non_square_matrix_vs_glsl: { vertex: glsl_non_square_matrix_vs_glsl, fragment: glsl_non_square_matrix_fs_glsl },
    gltf_load_vs_smooth_glsl: { vertex: gltf_load_vs_smooth_glsl, fragment: gltf_load_fs_smooth_glsl },
    query_occlusion_vs_glsl: { vertex: query_occlusion_vs_glsl, fragment: query_occlusion_fs_glsl },
    sampler_filter_vs_glsl: { vertex: sampler_filter_vs_glsl, fragment: sampler_filter_fs_glsl },
    sampler_object_vs_glsl: { vertex: sampler_object_vs_glsl, fragment: sampler_object_fs_glsl },
    sampler_wrap_vs_glsl: { vertex: sampler_wrap_vs_glsl, fragment: sampler_wrap_fs_glsl },
    texture_2d_array_vs_glsl: { vertex: texture_2d_array_vs_glsl, fragment: texture_2d_array_fs_glsl },
    texture_3d_vs_glsl: { vertex: texture_3d_vs_glsl, fragment: texture_3d_fs_glsl },
    texture_derivative_vs_glsl: { vertex: texture_derivative_vs_glsl, fragment: texture_derivative_fs_glsl },
    texture_fetch_vs_glsl: { vertex: texture_fetch_vs_glsl, fragment: texture_fetch_fs_glsl },
    texture_grad_vs_glsl: { vertex: texture_grad_vs_glsl, fragment: texture_grad_fs_glsl },
    texture_immutable_vs_3d_glsl: { vertex: texture_immutable_vs_3d_glsl, fragment: texture_immutable_fs_3d_glsl },
    texture_immutable_vs_glsl: { vertex: texture_immutable_vs_glsl, fragment: texture_immutable_fs_glsl },
    texture_integer_vs_glsl: { vertex: texture_integer_vs_glsl, fragment: texture_integer_fs_glsl },
    texture_lod_vs_glsl: { vertex: texture_lod_vs_glsl, fragment: texture_lod_fs_glsl },
    texture_pixel_store_vs_glsl: { vertex: texture_pixel_store_vs_glsl, fragment: texture_pixel_store_fs_glsl },
    texture_srgb_vs_glsl: { vertex: texture_srgb_vs_glsl, fragment: texture_srgb_fs_glsl },
    texture_vertex_vs_glsl: { vertex: texture_vertex_vs_glsl, fragment: texture_vertex_fs_glsl },
    transform_feedback_instanced_vs_draw_glsl: { vertex: transform_feedback_instanced_vs_draw_glsl, fragment: transform_feedback_instanced_fs_draw_glsl },
    transform_feedback_instanced_vs_emit_glsl: { vertex: transform_feedback_instanced_vs_emit_glsl, fragment: transform_feedback_instanced_fs_emit_glsl },
    transform_feedback_interleaved_vs_feedback_glsl: { vertex: transform_feedback_interleaved_vs_feedback_glsl, fragment: transform_feedback_interleaved_fs_feedback_glsl },
    transform_feedback_interleaved_vs_transform_glsl: { vertex: transform_feedback_interleaved_vs_transform_glsl, fragment: transform_feedback_interleaved_fs_transform_glsl },
    transform_feedback_separated_vs_feedback_glsl: { vertex: transform_feedback_separated_vs_feedback_glsl, fragment: transform_feedback_separated_fs_feedback_glsl },
    transform_feedback_separated_vs_transform_glsl: { vertex: transform_feedback_separated_vs_transform_glsl, fragment: transform_feedback_separated_fs_transform_glsl },
    transform_feedback_separated_2_vs_draw_glsl: { vertex: transform_feedback_separated_2_vs_draw_glsl, fragment: transform_feedback_separated_2_fs_draw_glsl }
};

